home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / programming / other / jikes / src / jikes.cpp < prev    next >
C/C++ Source or Header  |  1999-05-14  |  4KB  |  89 lines

  1. // $Id: jikes.cpp,v 1.16 1999/03/10 19:59:21 shields Exp $
  2. //
  3. // This software is subject to the terms of the IBM Jikes Compiler
  4. // License Agreement available at the following URL:
  5. // http://www.ibm.com/research/jikes.
  6. // Copyright (C) 1996, 1999, International Business Machines Corporation
  7. // and others.  All Rights Reserved.
  8. // You must accept the terms of that agreement to use this software.
  9. //
  10.  
  11. #include "config.h"
  12. #include <iostream.h>
  13. #include <assert.h>
  14. #include "control.h"
  15. #include <stdio.h>
  16.  
  17. int main(int argc, char *argv[])
  18. {
  19.     int return_code;
  20.  
  21. #ifdef EBCDIC
  22.     Code::Conversion();
  23. #endif
  24.     
  25.     SetNewHandler();
  26.  
  27.     FloatingPointCheck();
  28.  
  29.     ArgumentExpander *arguments = new ArgumentExpander(argc, argv);
  30.  
  31.     Option *option = new Option(*arguments);
  32.  
  33.     if (option -> first_file_index < arguments -> argc)
  34.     {
  35.         Control *control = new Control(*arguments, *option);
  36.         return_code = control -> return_code;
  37. #ifdef NO_LEAKS
  38.         delete control;
  39. #endif
  40.     }
  41.     else
  42.     {
  43.         //
  44.         // Be quiet about +A and +C. Those who know, know; those who don't, don't.
  45.         //
  46.         cerr << "\nIBM Research Jikes Compiler"
  47.              << "\n(C) Copyright IBM Corp. 1997, 1999.\n"
  48.              << "- Licensed Materials - Program Property of IBM - All Rights Reserved.\n\n"
  49.              << StringConstant::U8S_command_format
  50.              << "\n\n"
  51.              << "-classpath path    use path for CLASSPATH\n"
  52.              << "-d dir             write class files in directory dir\n"
  53.              << "-debug             no effect (recognized for compatibility)\n"
  54.              << "-depend            recompile all used classes\n"
  55.              << "-deprecation       report uses of deprecated features\n"
  56.              << "-g                 debug (generate LocalVariableTable)\n"
  57.              << "-nowarn            do not issue warning messages\n"
  58.              << "-nowrite           do not write any class files\n"
  59.              << "-O                 do not write LineNumberTable\n"
  60.              << "-verbose           list files read and written\n"
  61.              << "+1.0               recognize only 1.0.2 language\n"
  62.              << "++                 compile in incremental mode\n"
  63.              << "+B                 do not invoke bytecode generator\n"
  64.              << "+D                 report errors immediately in emacs-form without buffering\n"
  65.              << "+E                 list errors in emacs-form\n"
  66.              << "+F                 do full dependence check except for Zip and Jar files\n"
  67.              << "+Kname=TypeKeyWord map name to type keyword\n"
  68.              << "+M                 generate makefile dependencies\n"
  69.              << "+M=filename        generate makefile dependencies information in filename\n"
  70.              << "+P                 Pedantic compilation - issues lots of warnings\n"
  71.              << "+Td...d            set value of tab d...d spaces; each d is a decimal digit\n"
  72.              << "+U                 do full dependence check including Zip and Jar files\n"
  73.              << "+Z                 treat cautions as errors\n"
  74.              << "\nVersion 0.47 (10 Mar 99)"
  75.              << " by Philippe Charles and David Shields, IBM Research.\n";
  76.         cerr << "Please report problems to shields@watson.ibm.com.\n" ;
  77.     cerr << "or via browser at http://www.ibm.com/research/jikes\n";
  78.  
  79.         return_code = 1;
  80.     }
  81.  
  82. #ifdef NO_LEAKS
  83.     delete arguments;
  84.     delete option;
  85. #endif
  86.  
  87.     return return_code;
  88. }
  89.